home *** CD-ROM | disk | FTP | other *** search
/ Cracker's Matrix / Cracker's Matrix (nCite Software).iso / Examples / Data / ckSL_0018.txt < prev    next >
Text File  |  2003-01-06  |  3KB  |  59 lines

  1. Tutorial for Dettens Crackme 8
  2.  
  3. This shows only one way of solving it .. and maybe not the best.. (but anyway)
  4. First load it into W32dasm and look at the String refs..
  5. There you see something like registered(what you wanna get) and some reference to a file you dont have called crackme8.dat.
  6. So most probably you have to create this file.
  7. We create an empty text file with that name.
  8. We look further into the crackme and if you go to the string ref "Registered and scoll up a bit you see this): 
  9.  
  10.  
  11. * Reference To: KERNEL32.CloseHandle, Ord:0019h
  12.                                   |
  13. :004010FE E857020000              Call 0040135A
  14. :00401103 8B1D88304000            mov ebx, dword ptr [00403088]
  15. :00401109 03C3                    add eax, ebx
  16. :0040110B 33D8                    xor ebx, eax
  17. :0040110D 3BC3                    cmp eax, ebx
  18. :0040110F E98C000000              jmp 004011A0           <-----(1) uncond. jump so he jumps no matter what 
  19. :00401114 33DB                    xor ebx, ebx
  20. :00401116 668B1D0F114000          mov bx, word ptr [0040110F]
  21. :0040111D 668B0D56124000          mov cx, word ptr [00401256]
  22. :00401124 66A13B104000            mov ax, word ptr [0040103B]
  23. :0040112A 66030551114000          add ax, word ptr [00401151]
  24. :00401131 66330D56114000          xor cx, word ptr [00401156]
  25. :00401138 66031D58114000          add bx, word ptr [00401158]
  26. :0040113F 662B0D62114000          sub cx, word ptr [00401162]
  27. :00401146 6633D9                  xor bx, cx
  28. :00401149 6681C3ADDE              add bx, DEAD
  29. :0040114E 6633D8                  xor bx, ax
  30. :00401151 6681FB380C              cmp bx, 0C38
  31. :00401156 7548                    jne 004011A0                  <------(2) cond. jump
  32. :00401158 668B151C134000          mov dx, word ptr [0040131C]
  33. :0040115F 663BDA                  cmp bx, dx
  34. :00401162 753C                    jne 004011A0                  <------(3) cond. jump
  35.  
  36. * Possible StringData Ref from Data Obj ->"REGISTERED !"        <------(4)
  37.                                   |
  38. :00401164 6820304000              push 00403020
  39.  
  40. * Possible Reference to Dialog: MYDIALOG, CONTROL_ID:0BBA, "-->> Unregistered  <<--"
  41.                                   |
  42. :00401169 68BA0B0000              push 00000BBA
  43. :0040116E FF7508                  push [ebp+08]
  44.  
  45. * Reference To: USER32.SetDlgItemTextA, Ord:0228h
  46.                                   |
  47. :00401171 E8DE010000              Call 00401354 
  48.  
  49.  
  50. So look at the unconditional jumps(1).. it jumps all the time so we never reach the place where he says registered (4).
  51. To avoid the jump we start Hview and NOP it.
  52. Next we see some compares and conditional jumps (2,3).
  53. To prevent them from jumping change both to NOP (90 hex)  After this we start the crackme.
  54. It says Registered but NO Name and NO Serial. Just try to enter some Name into the file(crackme8.dat)(.
  55.  
  56. Now restart it and you are finished
  57.  
  58.  
  59.